home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / scheme / pcscheme / geneva / sources.exe / MAKEFILE.EDW next >
Encoding:
Text File  |  1993-10-24  |  3.3 KB  |  121 lines

  1. #* MAKEFILE.EDW
  2. #************************************************************************
  3. #*                                    *
  4. #*            PC Scheme/Geneva 4.00 Make file            *
  5. #*                                    *
  6. #* (c) 1985-1988 by Texas Instruments, Inc. See COPYRIGHT.TXT        *
  7. #* (c) 1992 by L. Bartholdi & M. Vuilleumier, University of Geneva    *
  8. #*                                    *
  9. #*----------------------------------------------------------------------*
  10. #*                                    *
  11. #*            The Makefile for EDWIN                *
  12. #*                                    *
  13. #*----------------------------------------------------------------------*
  14. #*                                    *
  15. #* Created by: L. Bartholdi        Date: 1993            *
  16. #* Revision history:                            *
  17. #* - 18 Jun 92:    Renaissance (Borland Compilers, ...)            *
  18. #*                                    *
  19. #*                    ``In nomine omnipotentii dei''    *
  20. #************************************************************************
  21.  
  22. #
  23. # directories
  24. #
  25.  
  26. .PATH.exe = bin
  27. .PATH.fsl = bin
  28. .PATH.s   = sources\edwin
  29. .PATH.so  = compile
  30.  
  31. .suffixes:    .s .so
  32. SCHEME=$(.PATH.exe)\pcs
  33.  
  34. all:    makeedwintemp    commac.so    edinit.so    edwin.fsl
  35.     
  36. .s.so:
  37.         $(SCHEME) MAKEAUTO.TMP {$& }
  38.  
  39. makeedwintemp:
  40.     copy &&!
  41. (define version "4.10")
  42. (define source-dir "sources\\\\edwin\\\\")
  43. (define dist-dir "compile\\\\")
  44.  
  45. (macro define-integrable
  46.   (lambda (form)
  47.     (pcs-chk-length= form form 3)
  48.     (let ((id (cadr form))
  49.           (exp (caddr form)))
  50.       (pcs-chk-id form id)
  51.       (putprop id (cons 'define-integrable exp) 'pcs*primop-handler)
  52.       '())))
  53. (macro make-version
  54.   (lambda (exp)
  55.     `(define-integrable edwin-version ,version)))
  56. (make-version)
  57.  
  58. (define (fsl name)
  59.   (string-append dist-dir name ".so"))
  60. (define (source name)
  61.   (string-append source-dir name ".s"))
  62. (define load-file
  63.   (lambda (file)
  64.     (let ((file1 (source file))
  65.           (file2 (fsl file)))
  66.       (writeln file1 " -> " file2)
  67.       (gc)
  68.       (fast-save-file file1 file2)
  69.       (fast-load file2))))
  70. (define read-file
  71.   (lambda (file)
  72.     (fast-load (fsl file))
  73.     (writeln "FSL-> " file)))
  74.  
  75. (define *source-files*
  76.     '("commac" "comfun" "emacros" "dwind" "charmac"
  77.     "charset" "strcomp" "nstring" "struct" "regops"
  78.     "comtabv" "initmac" "initkey" "buffer" "bufset"
  79.     "ring" "motion" "redisp1" "redisp2" "insert80"
  80.     "main" "curr" "marks" "messages" "modeln"
  81.     "argred" "etopleve" "allcoms1" "allcoms2" "allcoms3"
  82.     "edwinio" "kill" "search" "things" "incser"
  83.     "words" "transpos" "parens" "lisp" "sentence"))
  84.  
  85. (define *macro-files*
  86.     '("commac" "charmac" "emacros" "initmac"))
  87.  
  88. (map (lambda (name) (if (or (member name (cdr pcs-initial-arguments))
  89.                 (member name *macro-files*)
  90.                 (not (file-exists? (fsl name))))
  91.                         (load-file name)
  92.              (read-file name)))
  93.      *source-files*)
  94. (exit)
  95. ! MAKEAUTO.TMP
  96.  
  97. edinit.so:    edinit.s
  98.     $(SCHEME) &&!
  99. (load (%system-file-name "miniboot.fsl"))
  100. (pcs-compile-file "sources\\\\edwin\\\\edinit.s" "compile\\\\edinit.so")
  101. (exit)
  102. !
  103.  
  104. edwin.fsl:    comfun.so    dwind.so    charset.so \
  105.         strcomp.so    nstring.so    struct.so \
  106.         regops.so    comtabv.so    initmac.so \
  107.         initkey.so    buffer.so    bufset.so \
  108.         ring.so        motion.so    main.so    \
  109.         curr.so        redisp1.so    redisp2.so \
  110.         insert80.so    messages.so    modeln.so \
  111.         argred.so    etoplevel.so    allcoms1.so \
  112.         allcoms2.so    allcoms3.so    marks.so \
  113.         edwinio.so    search.so    things.so \
  114.         parens.so \
  115.         transpos.so    kill.so        lisp.so    \
  116.         incser.so    words.so    sentence.so \
  117.         edinit.so
  118.     @echo. >$<
  119.     @© /b $<+$** $<
  120.     @touch $<
  121.